package entity

import dom "a-common/domain"

// SysNotice 系统通知表
type SysNotice struct {
	NoticeId       int64  `xorm:"pk autoincr notnull"` // 公告ID
	NoticeTitle    string `xorm:"varchar(50)"`         // 公告标题
	NoticeType     string `xorm:"varchar(1)"`          // 公告类型（1通知 2公告）
	NoticeContent  string `xorm:"longblob"`            // 公告内容
	Status         string `xorm:"varchar(1)"`          // 公告状态（0正常 1关闭）
	dom.BaseStruct `xorm:"extends"`
}

// SysNoticeVo 映射
type SysNoticeVo struct {
	NoticeId      int64  `json:"noticeId,omitempty" xorm:"pk"`
	NoticeTitle   string `json:"noticeTitle,omitempty"`
	NoticeType    string `json:"noticeType,omitempty"`
	NoticeContent string `json:"noticeContent,omitempty"`
	Status        string `json:"status,omitempty"`
}

// SysNoticePageVo 页面
type SysNoticePageVo struct {
	SysNoticeVo  `xorm:"extends"`
	dom.BaseJson `xorm:"extends"`
}

// SysNoticeDto 传输
type SysNoticeDto struct {
	SysNoticePageVo
	dom.PageDto
}

func (m *SysNoticeDto) Validator() error {
	if m.PageNum < 1 {
		m.PageNum = 1
	}
	if m.PageSize < 1 {
		m.PageSize = 10
	}
	return nil
}
